Find the first non-repeating characterΒΆ

Find the first non-repeating character in given string.
def first_non_repeating_character(S):

    char_list = []
    cnt_dict = {}

    for c in S:
        if c in cnt_dict:
            cnt_dict[c] += 1
        else:
            cnt_dict[c] = 1
            char_list.append(c)

    for c in char_list:
        if cnt_dict[c] == 1:
            return c

    return None

# test
print(first_non_repeating_character('abcdef'))         # a
print(first_non_repeating_character('abcabcdef'))      # d
print(first_non_repeating_character('aabbcc'))         # None